package a.f.l;

import a.c.d;
import a.c.e;
import a.c.k;
import a.c.t;
import a.c.z;
import a.f.*;
import a.f.o;
import a.f.r;
import a.f.sb;

import java.util.*;

public class h
  extends r
{
  private static final String g = "y.layout.router.ORTHOGONAL_PATTERN_EDGE_ROUTER_NODE_SIZE_CHECKED_DPKEY";
  public static final Object h = "y.layout.router.OrthogonalPatternEdgeRouter.AFFECTED_EDGES";
  public static final byte i = 0;
  public static final byte j = 1;
  public static final byte k = 2;
  public static final byte l = 3;
  private static final int m = 100000;
  private double n = 10.0D;
  private static final byte o = 0;
  private static final byte p = 1;
  private static final byte q = 2;
  private static final byte r = 3;
  private static final byte s = 4;
  private static final byte t = 5;
  private static final byte u = 6;
  private static final byte v = 7;
  private static final byte w = 8;
  private static final byte x = 0;
  private static final byte y = 1;
  private static final byte z = 2;
  private double A = 1.0D;
  private double B = 5.0D;
  private double C = 50.0D;
  private static final double D = 0.001D;
  private boolean E;
  private a.d.w F = new a.d.w(0.0D, 0.0D);
  private double G = 10.0D;
  private a.d.w H;
  private List I;
  private List J;
  private int K;
  private static final boolean L = false;
  private int M = 50;
  private int N = 20;
  private final ArrayList O = new ArrayList();
  private Object P = h;
  private k Q;
  private double R;
  private byte S = 0;
  private static final int T = 0;
  private static final int U = 1;
  private static final int V = 2;
  private static final int W = 3;
  public static boolean X;
  
  public h()
  {
    this.O.add(ad.b(1));
    this.O.add(ad.b(4));
    this.O.add(ad.b(2));
    this.O.add(ad.b(8));
    this.I = new ArrayList();
    this.J = new ArrayList();
  }
  
  public byte b()
  {
    return this.S;
  }
  
  public void a(byte paramByte)
  {
    this.S = paramByte;
  }
  
  private boolean c()
  {
    int i1 = g.Cc;
    if (i1 == 0) {
      if (this.S != 1) {
        if (i1 != 0) {
          break label29;
        }
      }
    }
    label29:
    return this.S == 3;
  }
  
  private boolean d()
  {
    int i1 = g.Cc;
    if (i1 == 0) {
      if (this.S != 2) {
        if (i1 != 0) {
          break label29;
        }
      }
    }
    label29:
    return this.S == 3;
  }
  
  public boolean canLayout(o paramo)
  {
    int i1 = g.Cc;
    if (paramo.c("y.layout.router.ORTHOGONAL_PATTERN_EDGE_ROUTER_NODE_SIZE_CHECKED_DPKEY") == null) {
      try
      {
        c(paramo);
      }
      catch (IllegalArgumentException localIllegalArgumentException)
      {
        return false;
      }
    }
    rc localrc = a();
    if ((i1 != 0) || (localrc != null)) {
      if (i1 != 0) {
        break label52;
      }
    }
    label52:
    return localrc.canLayout(paramo);
  }
  
  public void doLayout(o paramo)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    int i1 = 0;
    if (i5 == 0)
    {
      if (paramo.c("y.layout.router.ORTHOGONAL_PATTERN_EDGE_ROUTER_NODE_SIZE_CHECKED_DPKEY") == null)
      {
        c(paramo);
        paramo.a("y.layout.router.ORTHOGONAL_PATTERN_EDGE_ROUTER_NODE_SIZE_CHECKED_DPKEY", a.i.q.a(Boolean.TRUE));
        i1 = 1;
      }
      a(paramo);
    }
    if (i5 == 0) {
      if (paramo.m() > 0)
      {
        new m().doLayout(paramo);
        this.Q = paramo.c(this.P);
        int i2 = 0;
        d(paramo);
        Object localObject = new z();
        int i3 = 0;
        label272:
        label279:
        label303:
        label459:
        label461:
        label464:
        label465:
        label503:
        do
        {
          if (i3 >= 2) {
            break;
          }
          if (i4 != 0) {
            break label526;
          }
          a.c.m localm = paramo.w();
          do
          {
            do
            {
              if (!localm.e()) {
                break label503;
              }
              double d1 = 1.7976931348623157E+308D;
              ((z)localObject).clear();
              d locald = localm.a();
              if (i4 != 0) {
                break;
              }
              if (((i3 != 0) || ((i5 != 0) || (!locald.g()))) && ((i5 != 0) || ((i3 != 1) || (locald.g())))) {
                if ((i5 != 0) || (this.Q != null))
                {
                  if (i5 != 0) {
                    continue;
                  }
                  if (!this.Q.getBool(locald)) {}
                }
                else
                {
                  e locale1 = locald.e();
                  e locale2 = locald.f();
                  Collection localCollection1 = a(paramo, locald, true);
                  Collection localCollection2 = a(paramo, locald, false);
                  Iterator localIterator1 = localCollection1.iterator();
                  do
                  {
                    break label303;
                    break label303;
                    if (!localIterator1.hasNext()) {
                      break;
                    }
                    ad localad1 = (ad)localIterator1.next();
                    Iterator localIterator2 = localCollection2.iterator();
                    do
                    {
                      if (!localIterator2.hasNext()) {
                        break label272;
                      }
                      ad localad2 = (ad)localIterator2.next();
                      z localz1 = a(paramo, locale1, locale2, localad1, localad2);
                      double d2 = a(locald, localz1, localad1, localad2);
                      if ((i5 != 0) || (i5 != 0)) {
                        break label465;
                      }
                      if (i4 != 0) {
                        break label464;
                      }
                      if (d2 < d1)
                      {
                        localObject = localz1;
                        d1 = d2;
                        i2 = 0;
                      }
                      z localz2 = a(paramo, locale2, locale1, localad2, localad1);
                      double d3 = a(locald, localz2, localad1, localad2);
                      if (d3 >= d1) {
                        break;
                      }
                      if (i5 != 0) {
                        break label461;
                      }
                      localObject = localz2;
                      d1 = d3;
                      i2 = 1;
                      if (i5 != 0) {
                        break label279;
                      }
                      if (i4 != 0) {
                        break label459;
                      }
                    } while (i5 != 0);
                  } while (i4 == 0);
                  if (((z)localObject).size() > 1)
                  {
                    if (i2 != 0) {
                      ((z)localObject).j();
                    }
                    paramo.a(locald, (z)localObject);
                    c((z)localObject);
                  }
                }
              }
              localm.f();
            } while (i4 == 0);
            i3++;
          } while (i5 != 0);
        } while (i4 == 0);
      }
    }
    if ((i5 == 0) && (i1 != 0)) {
      label526:
      paramo.j("y.layout.router.ORTHOGONAL_PATTERN_EDGE_ROUTER_NODE_SIZE_CHECKED_DPKEY");
    }
  }
  
  private void c(o paramo)
  {
    a(paramo, paramo);
  }
  
  private void a(t paramt, dc paramdc)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    k localk = paramt.c(i.c);
    if ((i2 != 0) || (localk == null)) {
      localk = a.i.q.a(Boolean.FALSE);
    }
    Iterator localIterator = paramt.a();
    label105:
    do
    {
      Object localObject;
      do
      {
        if (!localIterator.hasNext()) {
          return;
        }
        localObject = localIterator.next();
        if (i2 != 0) {
          break label105;
        }
        if (localk.getBool(localObject)) {
          break;
        }
        a(paramdc, localObject);
        if (i2 != 0) {
          break label105;
        }
      } while (i1 == 0);
      b(paramdc, localObject);
    } while (i1 == 0);
  }
  
  protected void a(dc paramdc, Object paramObject)
    throws IllegalArgumentException
  {
    zc localzc = paramdc.d(paramObject);
    if ((g.Cc != 0) || ((localzc.c() == 0.0D) || (localzc.d() == 0.0D))) {
      throw new IllegalArgumentException("Graph contains nodes with zero width/height. Please enlarge those nodes manually or by using LayoutStage y.layout.MinNodeSizeStage.");
    }
  }
  
  protected void b(dc paramdc, Object paramObject)
    throws IllegalArgumentException
  {
    zc localzc = paramdc.d(paramObject);
    if ((g.Cc != 0) || ((localzc.c() == 0.0D) || (localzc.d() == 0.0D))) {
      throw new IllegalArgumentException("Graph contains group nodes with zero width/height. Please enlarge those nodes manually or by using LayoutStage y.layout.MinNodeSizeStage.");
    }
  }
  
  private Collection a(zc paramzc)
  {
    HashSet localHashSet = new HashSet();
    localHashSet.add(ad.a(-paramzc.c() * 0.5D + this.n, -paramzc.d() * 0.5D, 1, 0.1D));
    localHashSet.add(ad.a(paramzc.c() * 0.5D - this.n, -paramzc.d() * 0.5D, 1, 0.1D));
    localHashSet.add(ad.a(paramzc.c() * 0.5D, this.n - paramzc.d() * 0.5D, 4, 0.1D));
    localHashSet.add(ad.a(paramzc.c() * 0.5D, paramzc.d() * 0.5D - this.n, 4, 0.1D));
    localHashSet.add(ad.a(paramzc.c() * 0.5D - this.n, paramzc.d() * 0.5D, 2, 0.1D));
    localHashSet.add(ad.a(-paramzc.c() * 0.5D + this.n, paramzc.d() * 0.5D, 2, 0.1D));
    localHashSet.add(ad.a(-paramzc.c() * 0.5D, paramzc.d() * 0.5D - this.n, 8, 0.1D));
    localHashSet.add(ad.a(-paramzc.c() * 0.5D, -paramzc.d() * 0.5D + this.n, 8, 0.1D));
    return localHashSet;
  }
  
  private boolean a(a.d.y paramy)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    double d1 = 0.1D;
    a.d.v localv = paramy.l();
    do
    {
      if (!localv.e()) {
        break;
      }
      a.d.w localw1 = localv.a().d();
      a.d.w localw2 = localv.a().e();
      double d2 = localw1.a() - localw2.a();
      double d3 = localw1.b() - localw2.b();
      if (i1 != 0) {
        break label131;
      }
      if (Math.abs(d2) > Math.abs(d1))
      {
        if (i2 != 0) {
          continue;
        }
        if (Math.abs(d3) > Math.abs(d1)) {
          return false;
        }
      }
      localv.f();
    } while (i1 == 0);
    label131:
    return true;
  }
  
  private void d(o paramo)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    this.J.clear();
    this.I.clear();
    a.c.w localw = paramo.v();
    label528:
    label544:
    label573:
    label601:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      zc localzc = ((o)locale.g()).k(locale);
      Object localObject1 = new e_(locale, localzc.a(), localzc.b(), localzc.c(), localzc.d());
      Object localObject2 = new a_(true, localzc.a(), localzc.b(), localzc.b() + localzc.d(), (c_)localObject1);
      Object localObject3 = new a_(false, localzc.a() + localzc.c(), localzc.b(), localzc.b() + localzc.d(), (c_)localObject1);
      this.I.add(localObject2);
      this.I.add(localObject3);
      localObject1 = new e_(locale, localzc.b(), localzc.a(), localzc.d(), localzc.c());
      localObject2 = new a_(true, localzc.b(), localzc.a(), localzc.a() + localzc.c(), (c_)localObject1);
      localObject3 = new a_(false, localzc.b() + localzc.d(), localzc.a(), localzc.a() + localzc.c(), (c_)localObject1);
      this.J.add(localObject2);
      this.J.add(localObject3);
      if (i1 != 0) {
        return;
      }
      localObject1 = locale.n();
      do
      {
        do
        {
          do
          {
            if (!((a.c.m)localObject1).e()) {
              break label655;
            }
            localObject2 = ((a.c.m)localObject1).a();
            if (i1 != 0) {
              break label685;
            }
            if (((i2 != 0) || (this.Q != null)) && (!this.Q.getBool(localObject2)))
            {
              localObject3 = null;
              Iterator localIterator = paramo.o((d)localObject2).iterator();
              do
              {
                if (!localIterator.hasNext()) {
                  break;
                }
                a.d.w localw1 = (a.d.w)localIterator.next();
                if (i2 != 0) {
                  break label652;
                }
                if (i1 != 0) {
                  break label650;
                }
                if (i2 == 0) {
                  if (localObject3 != null)
                  {
                    if (i2 == 0) {
                      if (localw1.a() <= ((a.d.w)localObject3).a())
                      {
                        localObject4 = localw1;
                        localObject5 = localObject3;
                        if (i2 != 0) {
                          break label544;
                        }
                        if (i1 == 0) {
                          break label528;
                        }
                      }
                    }
                    Object localObject4 = localObject3;
                    Object localObject5 = localw1;
                    if (i2 == 0) {
                      if (localw1.b() <= ((a.d.w)localObject3).b())
                      {
                        localObject6 = localw1;
                        localObject7 = localObject3;
                        if (i2 != 0) {
                          break label601;
                        }
                        if (i1 == 0) {
                          break label573;
                        }
                      }
                    }
                    Object localObject6 = localObject3;
                    Object localObject7 = localw1;
                    a(this.I, ((a.d.w)localObject4).a(), ((a.d.w)localObject4).b(), ((a.d.w)localObject5).a(), ((a.d.w)localObject5).b());
                    a(this.J, ((a.d.w)localObject6).b(), ((a.d.w)localObject6).a(), ((a.d.w)localObject7).b(), ((a.d.w)localObject7).a());
                  }
                }
                localObject3 = localw1;
              } while (i1 == 0);
            }
          } while (i2 != 0);
          ((a.c.m)localObject1).f();
        } while (i1 == 0);
        localw.f();
      } while (i2 != 0);
    } while (i1 == 0);
    label650:
    label652:
    label655:
    a(this.I);
    if (i2 == 0) {
      label685:
      a(this.J);
    }
  }
  
  private static boolean a(o paramo, d paramd)
  {
    int i1 = g.Cc;
    if ((i1 != 0) || (paramo.q(paramd.e()) + paramo.t(paramd.e()) >= paramo.q(paramd.f()))) {
      if (i1 != 0) {}
    }
    return paramo.q(paramd.f()) + paramo.t(paramd.f()) >= paramo.q(paramd.e());
  }
  
  private static boolean b(o paramo, d paramd)
  {
    int i1 = g.Cc;
    if ((i1 != 0) || (paramo.p(paramd.e()) + paramo.s(paramd.e()) >= paramo.p(paramd.f()))) {
      if (i1 != 0) {}
    }
    return paramo.p(paramd.f()) + paramo.s(paramd.f()) >= paramo.p(paramd.e());
  }
  
  private Collection a(o paramo, d paramd, boolean paramBoolean)
  {
    int i4 = g.Cc;
    int i3 = g.Bc;
    if (paramBoolean)
    {
      if (i4 != 0) {
        break label40;
      }
      localk = paramo.c(ad.q);
      if (i3 == 0) {
        break label42;
      }
    }
    label40:
    k localk = paramo.c(ad.r);
    label42:
    Object localObject1 = null;
    Object localObject2;
    label101:
    label103:
    Object localObject3;
    Object localObject5;
    label190:
    label192:
    Object localObject4;
    if ((i4 != 0) || (localk != null))
    {
      localObject1 = (Collection)localk.get(paramd);
    }
    else
    {
      if (paramBoolean)
      {
        if (i4 != 0) {
          break label101;
        }
        localObject2 = paramo.c(ed.a);
        if (i3 == 0) {
          break label103;
        }
      }
      localObject2 = paramo.c(ed.b);
      if ((i4 != 0) || (localObject2 != null))
      {
        localObject3 = (cd)((k)localObject2).get(paramd);
        if (localObject3 != null)
        {
          localObject1 = new ArrayList();
          int i2 = b(((cd)localObject3).b());
          if (i4 == 0) {
            if (((cd)localObject3).a())
            {
              if (paramBoolean)
              {
                if (i4 != 0) {
                  break label190;
                }
                localObject5 = paramo.p(paramd);
                if (i3 == 0) {
                  break label192;
                }
              }
              localObject5 = paramo.q(paramd);
              localObject4 = ad.a(((a.d.w)localObject5).a(), ((a.d.w)localObject5).b(), i2);
              if (i4 != 0) {
                break label235;
              }
              if (i3 == 0) {
                break label226;
              }
            }
          }
          localObject4 = ad.b(i2);
          label226:
          label235:
          ((Collection)localObject1).add(localObject4);
        }
      }
    }
    if (i4 == 0)
    {
      if (localObject1 == null)
      {
        localObject2 = paramo.c(bd.a);
        if (localObject2 != null)
        {
          localObject3 = paramBoolean ? paramd.e() : paramd.f();
          localObject4 = (bd)((k)localObject2).get(localObject3);
          if (localObject4 != null)
          {
            localObject1 = new ArrayList();
            Iterator localIterator = ((bd)localObject4).b();
            do
            {
              if (!localIterator.hasNext()) {
                break;
              }
              localObject5 = (bd.e_)localIterator.next();
              if (i4 != 0) {
                break label690;
              }
              ((Collection)localObject1).add(((bd.e_)localObject5).a());
              if (i3 != 0) {
                break label688;
              }
            } while (i3 == 0);
          }
        }
      }
      if (i4 != 0) {}
    }
    else
    {
      label519:
      label653:
      if (i4 == 0) {
        label538:
        label673:
        label687:
        if ((localObject1 == null) && ((i4 != 0) || ((this.S == 2) || (this.S == 1))))
        {
          localObject1 = new ArrayList();
          localObject2 = paramo.o(paramd.e());
          localObject3 = paramo.o(paramd.f());
          int i1;
          if (i4 == 0) {
            if (this.S == 1)
            {
              if (i4 != 0) {
                break label567;
              }
              if (!a(paramo, paramd))
              {
                if (i4 == 0) {}
                i1 = ((a.d.w)localObject3).b() < ((a.d.w)localObject2).b() ? 1 : 0;
                if (i4 == 0) {
                  if (paramBoolean)
                  {
                    if (i4 != 0) {
                      break label538;
                    }
                    if (i1 != 0) {
                      break label519;
                    }
                  }
                }
                if (i4 == 0)
                {
                  if (!paramBoolean)
                  {
                    if (i4 != 0) {
                      break label560;
                    }
                    if (i1 == 0)
                    {
                      if (i4 != 0) {
                        break label690;
                      }
                      ((Collection)localObject1).add(ad.b(1));
                      if (i3 == 0) {
                        break label688;
                      }
                    }
                  }
                  if (i4 != 0) {
                    break label690;
                  }
                  ((Collection)localObject1).add(ad.b(2));
                }
              }
            }
          }
          label560:
          label567:
          if ((i3 != 0) && ((i4 != 0) || (this.S == 2))) {
            if ((i4 != 0) || (!b(paramo, paramd)))
            {
              if (i4 == 0) {}
              i1 = ((a.d.w)localObject2).a() > ((a.d.w)localObject3).a() ? 1 : 0;
              if (i4 == 0) {
                if (paramBoolean)
                {
                  if (i4 != 0) {
                    break label673;
                  }
                  if (i1 != 0) {
                    break label653;
                  }
                }
              }
              if (i4 == 0) {
                if (!paramBoolean)
                {
                  if (i4 != 0) {
                    break label687;
                  }
                  if (i1 == 0)
                  {
                    if (i4 != 0) {
                      break label690;
                    }
                    ((Collection)localObject1).add(ad.b(8));
                    if (i3 == 0) {
                      break label688;
                    }
                  }
                }
              }
              ((Collection)localObject1).add(ad.b(4));
            }
          }
        }
      }
    }
    label688:
    label690:
    if (i4 == 0) {
      if (localObject1 == null)
      {
        if (i4 != 0) {
          break label760;
        }
        localObject1 = new ArrayList(this.O);
        if (paramd.g()) {
          ((Collection)localObject1).addAll(a(paramo.d(paramBoolean ? paramd.e() : paramd.f())));
        }
      }
    }
    label760:
    return a((Collection)localObject1);
  }
  
  private int b(byte paramByte)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    if (i2 == 0) {
      switch (paramByte)
      {
      case 0: 
        paramByte = 15;
        if (i2 != 0) {
          break label120;
        }
        if (i1 == 0) {
          break;
        }
      case 1: 
        paramByte = 1;
        if (i2 != 0) {
          break label120;
        }
        if (i1 == 0) {
          break;
        }
      case 4: 
        paramByte = 4;
        if (i2 != 0) {
          break label120;
        }
        if (i1 == 0) {
          break;
        }
      case 2: 
        paramByte = 2;
        if (i2 != 0) {
          break label120;
        }
        if (i1 == 0) {
          break;
        }
      case 8: 
        paramByte = 8;
        if (i2 != 0) {
          break label120;
        }
        if (i1 == 0) {
          break;
        }
      }
    } else {
      paramByte = 15;
    }
    label120:
    return paramByte;
  }
  
  private Collection a(Collection paramCollection)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    ArrayList localArrayList = new ArrayList();
    if (i2 == 0) {
      if (paramCollection == null)
      {
        if (i2 != 0) {
          break label408;
        }
        localArrayList = this.O;
        if (i1 == 0) {
          break label407;
        }
      }
    }
    Iterator localIterator = paramCollection.iterator();
    label150:
    label157:
    label231:
    label238:
    do
    {
      ad localad;
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localad = (ad)localIterator.next();
          if (i2 == 0) {
            if ((localad.a() & 0x1) == 1)
            {
              if (i2 == 0) {
                if (localad.b())
                {
                  localArrayList.add(ad.a(localad.c(), localad.d(), 1, localad.f()));
                  if (i2 != 0) {
                    break label157;
                  }
                  if (i1 == 0) {
                    break label150;
                  }
                }
              }
              localArrayList.add(ad.a(1, localad.f()));
            }
          }
          if (i2 == 0) {
            if ((localad.a() & 0x4) == 4)
            {
              if (i2 == 0) {
                if (localad.b())
                {
                  localArrayList.add(ad.a(localad.c(), localad.d(), 4, localad.f()));
                  if (i2 != 0) {
                    break label238;
                  }
                  if (i1 == 0) {
                    break label231;
                  }
                }
              }
              localArrayList.add(ad.a(4, localad.f()));
            }
          }
          if (i2 == 0) {
            if ((localad.a() & 0x2) == 2)
            {
              if (i2 == 0) {
                if (localad.b())
                {
                  localArrayList.add(ad.a(localad.c(), localad.d(), 2, localad.f()));
                  if (i2 != 0) {
                    continue;
                  }
                  if (i1 == 0) {
                    continue;
                  }
                }
              }
              localArrayList.add(ad.a(2, localad.f()));
            }
          }
        } while ((localad.a() & 0x8) != 8);
        if ((i2 != 0) || (i1 != 0)) {
          break label413;
        }
        if (!localad.b()) {
          break;
        }
        localArrayList.add(ad.a(localad.c(), localad.d(), 8, localad.f()));
        if (i2 != 0) {
          break label404;
        }
      } while (i1 == 0);
      if (i2 != 0) {
        break label408;
      }
      localArrayList.add(ad.a(8, localad.f()));
    } while (i1 == 0);
    label404:
    label407:
    label408:
    if (localArrayList.isEmpty()) {
      label413:
      localArrayList = this.O;
    }
    return localArrayList;
  }
  
  private z a(o paramo, e parame1, e parame2, ad paramad1, ad paramad2)
  {
    int i7 = g.Cc;
    int i6 = g.Bc;
    ad localad1 = paramad1;
    ad localad2 = paramad2;
    z localz = new z();
    Object localObject1 = paramo.d(parame1);
    Object localObject2 = paramo.d(parame2);
    int i1 = localad1.a();
    int i2 = localad2.a();
    double[] arrayOfDouble = { 1.0D, 0.0D, 0.0D, 1.0D };
    if (i7 == 0)
    {
      switch (i1)
      {
      case 1: 
      case 3: 
      case 5: 
      case 6: 
      case 7: 
      default: 
        this.H = this.F;
        if (i7 != 0) {
          break label644;
        }
        if (i6 == 0) {
          break;
        }
      case 4: 
        arrayOfDouble[0] = 0.0D;
        arrayOfDouble[1] = -1.0D;
        arrayOfDouble[2] = 1.0D;
        arrayOfDouble[3] = 0.0D;
        localObject1 = new sb(((zc)localObject1).b(), -(((zc)localObject1).a() + ((zc)localObject1).c()), ((zc)localObject1).d(), ((zc)localObject1).c());
        localObject2 = new sb(((zc)localObject2).b(), -(((zc)localObject2).a() + ((zc)localObject2).c()), ((zc)localObject2).d(), ((zc)localObject2).c());
        this.H = new a.d.w(this.F.b(), -this.F.a());
        i2 = a(i2, (byte)2);
        if (i7 != 0) {
          break label644;
        }
        if (i6 == 0) {
          break;
        }
      case 2: 
        arrayOfDouble[0] = -1.0D;
        arrayOfDouble[1] = 0.0D;
        arrayOfDouble[2] = 0.0D;
        arrayOfDouble[3] = -1.0D;
        localObject1 = new sb(-(((zc)localObject1).a() + ((zc)localObject1).c()), -(((zc)localObject1).b() + ((zc)localObject1).d()), ((zc)localObject1).c(), ((zc)localObject1).d());
        localObject2 = new sb(-(((zc)localObject2).a() + ((zc)localObject2).c()), -(((zc)localObject2).b() + ((zc)localObject2).d()), ((zc)localObject2).c(), ((zc)localObject2).d());
        this.H = new a.d.w(-this.F.a(), -this.F.b());
        i2 = a(i2, (byte)1);
        if (i7 != 0) {
          break label644;
        }
        if (i6 == 0) {
          break;
        }
      case 8: 
        arrayOfDouble[0] = 0.0D;
        arrayOfDouble[1] = 1.0D;
        arrayOfDouble[2] = -1.0D;
        arrayOfDouble[3] = 0.0D;
      }
    }
    else
    {
      localObject1 = new sb(-(((zc)localObject1).b() + ((zc)localObject1).d()), ((zc)localObject1).a(), ((zc)localObject1).d(), ((zc)localObject1).c());
      localObject2 = new sb(-(((zc)localObject2).b() + ((zc)localObject2).d()), ((zc)localObject2).a(), ((zc)localObject2).d(), ((zc)localObject2).c());
      this.H = new a.d.w(-this.F.b(), this.F.a());
      i2 = a(i2, (byte)0);
    }
    if (i7 == 0) {
      if (!paramad1.b())
      {
        label644:
        localad1 = a(paramad1, (zc)localObject1, 1);
        if (i7 != 0) {
          break label743;
        }
        if (i6 == 0) {
          break label733;
        }
      }
    }
    double d1 = localad1.c() * arrayOfDouble[0] + localad1.d() * arrayOfDouble[2];
    double d3 = localad1.c() * arrayOfDouble[1] + localad1.d() * arrayOfDouble[3];
    localad1 = ad.a(d1, d3, localad1.a(), localad1.f());
    label733:
    if (i7 == 0) {
      if (!paramad2.b())
      {
        label743:
        if (i7 != 0) {
          break label770;
        }
        localad2 = a(paramad2, (zc)localObject2, i2);
        if (i6 == 0) {
          break label833;
        }
      }
    }
    label770:
    d1 = localad2.c() * arrayOfDouble[0] + localad2.d() * arrayOfDouble[2];
    d3 = localad2.c() * arrayOfDouble[1] + localad2.d() * arrayOfDouble[3];
    localad2 = ad.a(d1, d3, localad2.a(), localad2.f());
    label833:
    int i3;
    if (parame1 == parame2)
    {
      i3 = 8;
      if ((i7 == 0) && (i6 == 0)) {}
    }
    else
    {
      i3 = a((zc)localObject1, (zc)localObject2);
    }
    double d2 = ((zc)localObject1).a() + 0.5D * ((zc)localObject1).c();
    double d4 = ((zc)localObject1).b() + 0.5D * ((zc)localObject1).d();
    double d5 = ((zc)localObject2).a() + 0.5D * ((zc)localObject2).c();
    double d6 = ((zc)localObject2).b() + 0.5D * ((zc)localObject2).d();
    double d7 = d2 + localad1.c();
    double d8 = d4 + localad1.d();
    double d9 = d5 + localad2.c();
    double d10 = d6 + localad2.d();
    if (i7 == 0)
    {
      localz.add(new a.d.w(d2 + localad1.c(), d4 + localad1.d()));
      double d20;
      label1223:
      label1241:
      double d15;
      double d16;
      double d17;
      double d18;
      label1627:
      label1892:
      label2158:
      label2680:
      double d21;
      label1926:
      label2090:
      label2239:
      label2662:
      label3196:
      label4094:
      double d11;
      label2333:
      label3660:
      label4204:
      label4340:
      double d12;
      switch (i3)
      {
      case 8: 
        double d19 = Math.min(((zc)localObject1).d(), ((zc)localObject1).c()) / 2.0D;
        e(localz, d8 - ((zc)localObject1).b() + d19, true);
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            d20 = d7 - d9;
            if (i7 == 0)
            {
              if (d20 != 0.0D) {
                b(localz, d20, false);
              }
            }
            else
            {
              if (i7 != 0) {
                break label1241;
              }
              if (i6 == 0) {
                break label1223;
              }
            }
            b(localz, d7 - ((zc)localObject1).a(), false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + d19, true);
            a(localz, d10 - b(localz), false);
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            b(localz, d7 - ((zc)localObject1).a() + d19, true);
            a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + d19 - b(localz), true);
            c(localz, d9 - a(localz), false);
            e(localz, b(localz) - d10, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
            break;
          case 8: 
            b(localz, d7 - ((zc)localObject1).a() + d19, true);
            a(localz, d10 - b(localz), false);
            c(localz, d9 - a(localz), false);
          }
        }
        if ((i7 == 0) && ((i6 == 0) || (i6 == 0))) {}
        break;
      case 0: 
        double d13 = ((zc)localObject1).a() + ((zc)localObject1).c() - d7;
        double d14 = ((zc)localObject2).a() + ((zc)localObject2).c() - d7;
        d15 = d9 - d7;
        d16 = ((zc)localObject1).b() + ((zc)localObject1).d();
        d17 = ((zc)localObject2).b();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).b() + ((zc)localObject1).d() + this.n, true, true);
          if (i7 != 0) {
            break label1627;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).b() + ((zc)localObject1).d() + this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (d15 > d13 + this.n)
              {
                c(localz, d15, false);
                a(localz, d10 - b(localz), false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                c(localz, d13 + this.n, true);
              }
            }
            if (i7 == 0)
            {
              if (a(d16, d17, d18)) {
                a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
              }
            }
            else
            {
              if (i7 != 0) {
                break label1926;
              }
              if (i6 == 0) {
                break label1892;
              }
            }
            d20 = ((zc)localObject2).b() - (((zc)localObject1).b() + ((zc)localObject1).d());
            a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + 0.5D * d20 - b(localz), false);
            b(localz, a(localz) - d9, false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            c(localz, Math.max(d14, d13) + this.n, true);
            a(localz, d10 - b(localz), false);
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            if (i7 == 0)
            {
              e(localz, d8 - ((zc)localObject1).b() + this.n, true);
              if (d14 > d13)
              {
                c(localz, d14 + this.n, true);
                if (i7 != 0) {
                  break label2158;
                }
                if (i6 == 0) {
                  break label2090;
                }
              }
            }
            c(localz, d13 + this.n, true);
            a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
            b(localz, a(localz) - d9, false);
            e(localz, b(localz) - d10, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 8: 
            if (i7 == 0)
            {
              e(localz, d8 - ((zc)localObject1).b() + this.n, true);
              if (d14 > d13)
              {
                c(localz, d14 + this.n, true);
                if (i7 != 0) {
                  break label2333;
                }
                if (i6 == 0) {
                  break label2239;
                }
              }
            }
            c(localz, d13 + this.n, true);
            a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
            b(localz, a(localz) - ((zc)localObject2).a() + this.n, true);
            e(localz, b(localz) - d10, false);
            c(localz, d9 - a(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          }
        }
        if ((i7 == 0) && (i6 == 0)) {}
        break;
      case 1: 
        if (i7 == 0) {}
        int i4 = d7 < ((zc)localObject2).a() ? 1 : 0;
        if (i7 == 0) {}
        int i5 = d7 > ((zc)localObject2).a() + ((zc)localObject2).c() ? 1 : 0;
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            if (i7 == 0) {
              if (i4 != 0)
              {
                e(localz, d8 - ((zc)localObject2).b() + this.n, true);
                c(localz, d9 - d7, false);
                if (i7 != 0) {
                  break label2680;
                }
                if (i6 == 0) {
                  break label2662;
                }
              }
            }
            if (i7 == 0)
            {
              if (i5 != 0)
              {
                e(localz, d8 - ((zc)localObject2).b() + this.n, true);
                b(localz, d7 - d9, false);
              }
            }
            else
            {
              if (i7 != 0) {
                break label2680;
              }
              if (i6 == 0) {
                break label2662;
              }
            }
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() - d7 + this.n, true);
            e(localz, ((zc)localObject1).b() - ((zc)localObject2).b(), true);
            b(localz, a(localz) - d9, false);
            a(localz, d10 - b(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          case 4: 
            if (i7 == 0) {
              if (i5 != 0)
              {
                e(localz, d8 - d10, false);
                b(localz, d7 - d9, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                e(localz, d8 - ((zc)localObject1).b() + this.n, true);
                c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() - d7 + this.n, true);
                e(localz, b(localz) - d10, false);
                b(localz, a(localz) - d9, false);
              }
            }
            if (i6 == 0) {
              break label8186;
            }
          case 2: 
            d21 = ((zc)localObject1).a();
            if (i7 == 0) {
              if (((zc)localObject2).a() > ((zc)localObject1).a()) {
                d21 = ((zc)localObject2).a();
              }
            }
            double d22 = ((zc)localObject2).a() + ((zc)localObject2).c();
            if (i7 == 0) {
              if (((zc)localObject1).a() + ((zc)localObject1).c() < ((zc)localObject2).a() + ((zc)localObject2).c()) {
                d22 = ((zc)localObject1).a() + ((zc)localObject1).c();
              }
            }
            double d23 = d21 + 0.5D * (d22 - d21);
            if (i7 == 0) {
              if (paramad1.b())
              {
                if (i7 != 0) {
                  break label3082;
                }
                if (paramad2.b())
                {
                  if (i7 == 0) {
                    if (Math.abs(d7 - d9) < 0.001D)
                    {
                      e(localz, d8 - d10, false);
                      if (i7 == 0) {
                        if (i6 == 0) {
                          break label8186;
                        }
                      }
                    }
                    else
                    {
                      e(localz, d8 - ((zc)localObject1).b() + this.n, true);
                      c(localz, d9 - d7, false);
                      e(localz, b(localz) - d10, false);
                    }
                  }
                  if ((i7 == 0) && (i6 == 0)) {
                    break label8186;
                  }
                }
              }
            }
            if (i7 == 0) {
              if (paramad1.b())
              {
                if (i7 == 0)
                {
                  if (d7 >= d21)
                  {
                    if (i7 != 0) {
                      break label3196;
                    }
                    if (d7 <= d22)
                    {
                      e(localz, d8 - d10, false);
                      if (i7 != 0) {
                        break label3196;
                      }
                      if (i6 == 0) {
                        break label8186;
                      }
                    }
                  }
                  e(localz, d8 - ((zc)localObject1).b() + this.n, true);
                  c(localz, d23 - d7, false);
                  e(localz, ((zc)localObject1).b() - d10 - this.n, false);
                }
                if ((i7 == 0) && (i6 == 0)) {
                  break label8186;
                }
              }
            }
            if (i7 == 0) {
              if (paramad2.b())
              {
                if (i7 == 0)
                {
                  if (d9 >= d21)
                  {
                    if (i7 != 0) {
                      break label3350;
                    }
                    if (d9 <= d22)
                    {
                      localz.clear();
                      if (i7 != 0) {
                        break label8188;
                      }
                      localz.add(new a.d.w(d9, ((zc)localObject1).b()));
                      e(localz, d8 - d10, false);
                      if (i6 == 0) {
                        break label8186;
                      }
                    }
                  }
                  e(localz, d8 - ((zc)localObject1).b() + this.n, true);
                  c(localz, d9 - d7, false);
                  e(localz, ((zc)localObject1).b() - d10 - this.n, false);
                }
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                localz.clear();
                if (i7 != 0) {
                  break label8188;
                }
                localz.add(new a.d.w(d23, ((zc)localObject1).b()));
                e(localz, ((zc)localObject1).b() - (((zc)localObject2).b() + ((zc)localObject2).d()), false);
              }
            }
            if (i6 == 0) {
              break label8186;
            }
          case 8: 
            if (i7 == 0) {
              if (i4 != 0)
              {
                e(localz, d8 - d10, false);
                c(localz, d9 - d7, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                e(localz, d8 - ((zc)localObject1).b() + this.n, true);
                b(localz, d7 - ((zc)localObject2).a() + this.n, true);
                e(localz, b(localz) - d10, false);
                c(localz, d9 - a(localz), false);
              }
            }
            break;
          }
        }
        if ((i7 == 0) && ((i6 == 0) || (i6 == 0))) {}
        break;
      case 4: 
        d16 = ((zc)localObject1).a() + ((zc)localObject1).c();
        d17 = ((zc)localObject2).a();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).a() + ((zc)localObject1).c() + this.n, true, true);
          if (i7 != 0) {
            break label3660;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).a() + ((zc)localObject1).c() + this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            c(localz, d9 - d7, false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() - d7 + this.n, true);
            a(localz, d10 - b(localz), false);
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0)
            {
              if (a(d16, d17, d18))
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() + this.n - d7, true);
                a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
                c(localz, d9 - a(localz), false);
                if (i7 != 0) {
                  break label4094;
                }
                if (i6 == 0) {}
              }
              else
              {
                c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() + this.n - d7, true);
                a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
              }
            }
            else {
              b(localz, a(localz) - d9, false);
            }
            e(localz, b(localz) - d10, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 8: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() + this.n - d7, true);
                if (i7 != 0) {
                  break label4238;
                }
                if (i6 == 0) {
                  break label4204;
                }
              }
            }
            b(localz, d7 - ((zc)localObject1).a() + this.n, true);
            a(localz, d10 - b(localz), false);
            c(localz, d9 - a(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          }
        }
        if (i7 == 0) {
          if (i6 == 0) {
            break label8186;
          }
        }
      case 5: 
        d16 = ((zc)localObject2).a() + ((zc)localObject2).c();
        d17 = ((zc)localObject1).a();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).a() - this.n, false, true);
          if (i7 != 0) {
            break label4340;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).a() - this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            b(localz, d7 - d9, false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                b(localz, d7 - ((zc)localObject1).a() + this.n, true);
                if (i7 != 0) {
                  break label4588;
                }
                if (i6 == 0) {
                  break label4554;
                }
              }
            }
            c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + this.n, true);
            a(localz, d10 - b(localz), false);
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                b(localz, d7 - ((zc)localObject1).a() + this.n, true);
                a(localz, this.n + ((zc)localObject2).b() + ((zc)localObject2).d() - b(localz), true);
                b(localz, a(localz) - d9, false);
                e(localz, b(localz) - d10, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + this.n, true);
                a(localz, this.n + ((zc)localObject2).b() + ((zc)localObject2).d() - b(localz), true);
                b(localz, a(localz) - d9, false);
                e(localz, b(localz) - d10, false);
              }
            }
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 8: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            b(localz, d7 - ((zc)localObject2).a() + this.n, true);
            a(localz, d10 - b(localz), false);
            c(localz, d9 - a(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          }
        }
        if (i7 == 0) {
          if (i6 == 0) {
            break label8186;
          }
        }
      case 7: 
        d16 = ((zc)localObject2).b() + ((zc)localObject2).d();
        d17 = ((zc)localObject1).b();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).b() - this.n, false, false);
          if (i7 != 0) {
            break label5020;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).b() - this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            e(localz, d8 - ((zc)localObject2).b() + this.n, true);
            b(localz, d7 - d9, false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            e(localz, d8 - d10, false);
            b(localz, d7 - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                b(localz, d7 - d9, false);
                e(localz, b(localz) - d10, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() + this.n - a(localz), true);
                a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
                b(localz, a(localz) - d9, false);
                e(localz, b(localz) - d10, false);
              }
            }
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 8: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0)
            {
              if (a(d16, d17, d18))
              {
                b(localz, d7 - ((zc)localObject2).a() + this.n, true);
                e(localz, b(localz) - d10, false);
                if (i7 != 0) {
                  break label5566;
                }
                if (i6 == 0) {}
              }
              else
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + this.n, true);
                a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
                b(localz, a(localz) - ((zc)localObject2).a() + this.n, true);
              }
            }
            else {
              e(localz, b(localz) - d10, false);
            }
            c(localz, d9 - a(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          }
        }
        if (i7 == 0) {
          if (i6 == 0) {
            break label8186;
          }
        }
      case 6: 
        d16 = ((zc)localObject2).b() + ((zc)localObject2).d();
        d17 = ((zc)localObject1).b();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).b() - this.n, false, false);
          if (i7 != 0) {
            break label5668;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).b() - this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            e(localz, d8 - ((zc)localObject2).b() + this.n, true);
            c(localz, d9 - d7, false);
            a(localz, d10 - b(localz), false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 4: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0)
            {
              if (a(d16, d17, d18))
              {
                c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() - d7 + this.n, true);
                e(localz, b(localz) - d10, false);
                if (i7 != 0) {
                  break label6000;
                }
                if (i6 == 0) {}
              }
              else
              {
                b(localz, d7 - ((zc)localObject1).a() + this.n, true);
                a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
                c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() + this.n - a(localz), true);
              }
            }
            else {
              e(localz, b(localz) - d10, false);
            }
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                c(localz, d9 - d7, false);
                e(localz, b(localz) - d10, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                b(localz, d7 - ((zc)localObject1).a() + this.n, true);
                a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
                c(localz, d9 - a(localz), false);
                e(localz, b(localz) - d10, false);
              }
            }
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
            break;
          case 8: 
            e(localz, d8 - d10, false);
            c(localz, d9 - d7, false);
          }
        }
        if ((i7 == 0) && ((i6 == 0) || (i6 == 0))) {}
        break;
      case 2: 
        d11 = d8 - ((zc)localObject1).b();
        d12 = d8 - ((zc)localObject2).b();
        d15 = d8 - d10;
        d16 = ((zc)localObject1).a() + ((zc)localObject1).c();
        d17 = ((zc)localObject2).a();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).a() + ((zc)localObject1).c() + this.n, true, true);
          if (i7 != 0) {
            break label6354;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).a() + ((zc)localObject1).c() + this.n;
        }
        if (i7 == 0) {
          switch (i2)
          {
          case 1: 
            if (i7 == 0)
            {
              if (d11 > d12) {
                e(localz, d8 - ((zc)localObject1).b() + this.n, true);
              }
            }
            else
            {
              if (i7 != 0) {
                break label6501;
              }
              if (i6 == 0) {
                break label6471;
              }
            }
            e(localz, d8 - ((zc)localObject2).b() + this.n, true);
            c(localz, d9 - d7, false);
            a(localz, d10 - b(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          case 4: 
            if (i7 == 0)
            {
              if (d11 > d12) {
                e(localz, d8 - ((zc)localObject1).b() + this.n, true);
              }
            }
            else
            {
              if (i7 != 0) {
                break label6640;
              }
              if (i6 == 0) {
                break label6576;
              }
            }
            e(localz, d8 - ((zc)localObject2).b() + this.n, true);
            c(localz, ((zc)localObject2).a() + ((zc)localObject2).c() - d7 + this.n, true);
            a(localz, d10 - b(localz), false);
            b(localz, a(localz) - d9, false);
            if (i7 == 0) {
              if (i6 == 0) {
                break label8186;
              }
            }
          case 2: 
            e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            if (i7 == 0) {
              if (a(d16, d17, d18))
              {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + this.n, true);
                a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
                c(localz, d9 - a(localz), false);
                e(localz, b(localz) - d10, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                if (i7 != 0) {
                  break label6935;
                }
                b(localz, d7 - ((zc)localObject1).a() + this.n, true);
              }
            }
            if (((zc)localObject1).b() + ((zc)localObject1).d() + this.n > ((zc)localObject2).b() + ((zc)localObject2).d())
            {
              a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
              if (i7 != 0) {
                break label6972;
              }
              if (i6 == 0) {}
            }
            else
            {
              a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
            }
            c(localz, d9 - a(localz), false);
            e(localz, b(localz) - d10, false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          case 8: 
            if (i7 == 0) {
              if (d15 >= d11 + this.n)
              {
                e(localz, d15, false);
                c(localz, d9 - d7, false);
                if (i7 == 0) {
                  if (i6 == 0) {
                    break label8186;
                  }
                }
              }
              else
              {
                e(localz, d11 + this.n, true);
              }
            }
            if (i7 == 0)
            {
              if (a(d16, d17, d18)) {
                c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() + this.n - a(localz), true);
              }
            }
            else
            {
              if (i7 != 0) {
                break label7192;
              }
              if (i6 == 0) {
                break label7158;
              }
            }
            d21 = ((zc)localObject2).a() - (((zc)localObject1).a() + ((zc)localObject1).c());
            c(localz, ((zc)localObject2).a() - 0.5D * d21 - a(localz), false);
            a(localz, d10 - b(localz), false);
            c(localz, d9 - a(localz), false);
            if ((i7 == 0) && (i6 == 0)) {
              break label8186;
            }
          }
        }
        if (i7 == 0) {
          if (i6 == 0) {
            break label8186;
          }
        }
      case 3: 
        label3082:
        label3350:
        label4554:
        label4588:
        label6000:
        label7158:
        d11 = d8 - ((zc)localObject1).b();
        label4238:
        label5020:
        label5566:
        label6354:
        label6501:
        label6640:
        d12 = d8 - ((zc)localObject2).b();
        label5668:
        label6471:
        d15 = d8 - d10;
        label6576:
        label6972:
        d16 = ((zc)localObject2).a() + ((zc)localObject2).c();
        label6935:
        label7192:
        d17 = ((zc)localObject1).a();
        if ((i7 != 0) || (this.E))
        {
          d18 = a(((zc)localObject1).a() - this.n, false, true);
          if (i7 != 0) {
            break label7325;
          }
          if (i6 == 0) {}
        }
        else
        {
          d18 = ((zc)localObject1).a() - this.n;
        }
        label7325:
        if (i7 == 0) {}
        switch (i2)
        {
        case 1: 
          if (i7 == 0)
          {
            if (d11 > d12) {
              e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            }
          }
          else
          {
            if (i7 != 0) {
              break label7473;
            }
            if (i6 == 0) {
              break label7443;
            }
          }
          e(localz, d8 - ((zc)localObject2).b() + this.n, true);
          b(localz, d7 - d9, false);
          a(localz, d10 - b(localz), false);
          if ((i7 == 0) && (i6 == 0)) {}
          break;
        case 4: 
          if (i7 == 0) {
            if (d15 >= d11 + this.n)
            {
              e(localz, d15, false);
              b(localz, d7 - d9, false);
              if (i7 == 0) {
                if (i6 == 0) {
                  break label8186;
                }
              }
            }
            else
            {
              e(localz, d11 + this.n, true);
            }
          }
          if (i7 == 0)
          {
            if (a(d16, d17, d18)) {
              b(localz, d7 - ((zc)localObject1).a() + this.n, true);
            }
          }
          else
          {
            if (i7 != 0) {
              break label7685;
            }
            if (i6 == 0) {
              break label7651;
            }
          }
          d21 = ((zc)localObject1).a() - (((zc)localObject2).a() + ((zc)localObject2).c());
          b(localz, d7 - (((zc)localObject2).a() + ((zc)localObject2).c()) - 0.5D * d21, false);
          a(localz, d10 - b(localz), false);
          b(localz, a(localz) - d9, false);
          if (i7 == 0) {
            if (i6 == 0) {
              break label8186;
            }
          }
        case 2: 
          e(localz, d8 - ((zc)localObject1).b() + this.n, true);
          if (i7 == 0) {
            if (a(d16, d17, d18))
            {
              b(localz, d7 - ((zc)localObject1).a() + this.n, true);
              a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
              b(localz, a(localz) - d9, false);
              e(localz, b(localz) - d10, false);
              if (i7 == 0) {
                if (i6 == 0) {
                  break label8186;
                }
              }
            }
            else
            {
              c(localz, ((zc)localObject1).a() + ((zc)localObject1).c() - d7 + this.n, true);
            }
          }
          if (i7 == 0) {
            if (((zc)localObject1).b() + ((zc)localObject1).d() + this.n > ((zc)localObject2).b() + ((zc)localObject2).d())
            {
              a(localz, ((zc)localObject1).b() + ((zc)localObject1).d() + this.n - b(localz), true);
              b(localz, a(localz) - d9, false);
              e(localz, b(localz) - d10, false);
              if (i7 == 0) {
                if (i6 == 0) {
                  break label8186;
                }
              }
            }
            else
            {
              a(localz, ((zc)localObject2).b() + ((zc)localObject2).d() + this.n - b(localz), true);
              b(localz, a(localz) - d9, false);
              e(localz, b(localz) - d10, false);
            }
          }
          if ((i7 == 0) && (i6 == 0)) {}
          break;
        case 8: 
          label7443:
          label7473:
          label7651:
          if (i7 == 0)
          {
            if (d11 > d12) {
              e(localz, d8 - ((zc)localObject1).b() + this.n, true);
            }
          }
          else
          {
            if (i7 != 0) {
              break label8180;
            }
            if (i6 == 0) {
              break label8124;
            }
          }
          label7685:
          e(localz, d8 - ((zc)localObject2).b() + this.n, true);
          label8124:
          b(localz, d7 - ((zc)localObject2).a() + this.n, true);
          a(localz, d10 - b(localz), false);
          c(localz, d9 - a(localz), false);
          label8180:
          if (i6 != 0) {}
          break;
        }
      }
    }
    label8186:
    label8188:
    a.c.v localv = localz.f();
    if (localv != null) {}
    while (i7 != 0)
    {
      a.d.w localw = (a.d.w)localv.c();
      localv.a(new a.d.w(localw.a * arrayOfDouble[0] + localw.b * arrayOfDouble[1], localw.a * arrayOfDouble[2] + localw.b * arrayOfDouble[3]));
      localv = localv.a();
      if (i6 == 0) {
        break;
      }
    }
    return localz;
  }
  
  protected double a(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    int i2 = g.Cc;
    double d1 = e(paramd, paramz, paramad1, paramad2);
    double d2 = c(paramd, paramz, paramad1, paramad2);
    double d3 = f(paramd, paramz, paramad1, paramad2);
    double d4 = d(paramd, paramz, paramad1, paramad2);
    double d5 = b(paramd, paramz, paramad1, paramad2);
    if (paramd.g()) {
      return d2 + d3 + d4 + d5;
    }
    double d6 = 0.0D;
    if ((i2 != 0) || (this.S != 0))
    {
      int i1 = a(paramz, paramad1, paramad2);
      if (i2 == 0) {
        if (c())
        {
          if (i2 != 0) {
            break label158;
          }
          if (i1 != 1)
          {
            if (i2 != 0) {
              break label158;
            }
            if (i1 != 3)
            {
              if (i2 != 0) {
                break label202;
              }
              d6 = 100000.0D;
              if (g.Bc == 0) {
                break label188;
              }
            }
          }
        }
      }
      label158:
      if (((i2 != 0) || (d())) && ((i2 != 0) || ((i1 != 2) && (i1 != 3)))) {
        d6 = 100000.0D;
      }
    }
    label188:
    label202:
    return d1 + d2 + d3 + d5 + d6;
  }
  
  private byte a(z paramz, ad paramad1, ad paramad2)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    int[] arrayOfInt = new int[4];
    Object localObject1 = null;
    Object localObject2 = null;
    Object localObject3 = null;
    a.c.y localy = paramz.h();
    do
    {
      do
      {
        if (!localy.e()) {
          break;
        }
        a.d.w localw = (a.d.w)localy.j();
        if (i2 == 0) {
          if (localObject1 != null)
          {
            b_ localb_ = new b_((a.d.w)localObject1, localw);
            arrayOfInt[localb_.g()] += 1;
            if (i2 == 0) {
              if (localObject2 == null) {
                localObject2 = localb_;
              }
            }
            localObject3 = localb_;
          }
        }
        localObject1 = localw;
        localy.f();
      } while (i1 == 0);
    } while (i2 != 0);
    byte b = 0;
    if (i2 == 0) {
      if (arrayOfInt[0] != 0)
      {
        if (i2 != 0) {
          break label226;
        }
        if (arrayOfInt[1] != 0) {
          break label222;
        }
      }
    }
    if (i2 == 0)
    {
      if (paramad1.a() == 255)
      {
        if (i2 != 0) {
          break label226;
        }
        if (!localObject2.a()) {
          break label222;
        }
      }
      if (i2 != 0) {}
    }
    else
    {
      if (paramad2.a() == 255)
      {
        if (i2 != 0) {
          break label226;
        }
        if (!localObject3.a()) {
          break label222;
        }
      }
      b = 1;
    }
    if (i2 == 0) {
      if (i1 != 0)
      {
        label222:
        label226:
        if (i2 == 0) {
          if (arrayOfInt[2] != 0)
          {
            if (i2 != 0) {
              break label319;
            }
            if (arrayOfInt[3] != 0) {
              break label315;
            }
          }
        }
        if (i2 == 0)
        {
          if (paramad1.a() == 255)
          {
            if (i2 != 0) {
              break label319;
            }
            if (localObject2.a()) {
              break label315;
            }
          }
          if (i2 != 0) {}
        }
        else
        {
          if (paramad2.a() == 255)
          {
            if (i2 != 0) {
              break label319;
            }
            if (localObject3.a()) {
              break label315;
            }
          }
          b = 2;
        }
        if (i2 != 0) {
          break label368;
        }
        if (i1 != 0)
        {
          label315:
          label319:
          if (i2 == 0) {
            if (arrayOfInt[2] != 0)
            {
              if (i2 != 0) {
                break label368;
              }
              if (arrayOfInt[3] != 0) {
                break label366;
              }
            }
          }
          if (i2 == 0) {
            if (arrayOfInt[0] != 0)
            {
              if (i2 != 0) {
                break label368;
              }
              if (arrayOfInt[1] != 0) {
                break label366;
              }
            }
          }
          b = 3;
        }
      }
    }
    label366:
    label368:
    return b;
  }
  
  protected double b(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    return paramad1.f() + paramad2.f();
  }
  
  protected double c(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    return this.A * (paramz.size() - 2);
  }
  
  protected double d(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    if ((paramad1.a() == paramad2.a()) && (paramd.e() == paramd.f())) {
      return this.A + 1.0D;
    }
    return 0.0D;
  }
  
  protected double e(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    double d = 0.0D;
    Object localObject = null;
    Iterator localIterator = paramz.iterator();
    do
    {
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        a.d.w localw = (a.d.w)localIterator.next();
        if (i1 != 0) {
          break label106;
        }
        if (i2 == 0) {
          if (localObject != null) {
            d += localObject.a(localw);
          }
        }
        localObject = localw;
      } while (i1 == 0);
      if (i2 != 0) {
        break;
      }
    } while (i2 != 0);
    label106:
    return d > 0.0D ? 1.0D - 1.0D / d : 0.0D;
  }
  
  protected double f(d paramd, z paramz, ad paramad1, ad paramad2)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    double d = 0.0D;
    if (((i2 != 0) || (j() == 0.0D)) && ((i2 != 0) || ((m() == 0.0D) && ((i2 != 0) || (k() == 0.0D))))) {
      return d;
    }
    Object localObject = null;
    Iterator localIterator = paramz.iterator();
    label279:
    do
    {
      if (!localIterator.hasNext()) {
        break;
      }
      a.d.w localw = (a.d.w)localIterator.next();
      if (i2 == 0) {
        if (localObject != null)
        {
          this.K += 1;
          if (i2 == 0) {
            if (Math.abs(localw.a() - localObject.a()) <= 0.001D)
            {
              d = a(paramd, d, this.I, localw.a(), Math.min(localw.b(), localObject.b()), Math.max(localw.b(), localObject.b()));
              if (i2 != 0) {
                continue;
              }
              if (i1 == 0) {
                break label279;
              }
            }
          }
          if (i2 == 0)
          {
            if (Math.abs(localw.b() - localObject.b()) <= 0.001D) {
              d = a(paramd, d, this.J, localw.b(), Math.min(localw.a(), localObject.a()), Math.max(localw.a(), localObject.a()));
            }
          }
          else
          {
            if (i2 != 0) {
              continue;
            }
            if (i1 == 0) {
              break label279;
            }
          }
          throw new IllegalStateException("Edge is not routed orthogonally!");
        }
      }
      localObject = localw;
    } while (i1 == 0);
    return d;
  }
  
  private double a(d paramd, double paramDouble1, List paramList, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    int i4 = g.Cc;
    int i3 = g.Bc;
    int i1 = a(paramDouble2, paramList) - 1;
    if (i1 >= 0)
    {
      a_ locala_ = (a_)paramList.get(i1);
      int i2 = locala_.g;
      label173:
      label175:
      do
      {
        if ((i2 == 0) || ((i4 == 0) && (locala_ == null))) {
          break;
        }
        if (i4 == 0) {
          if (!locala_.a)
          {
            locala_.h.a = this.K;
            if (i4 != 0) {
              break label175;
            }
            if (i3 == 0) {
              break label173;
            }
          }
        }
        if ((i4 != 0) || (locala_.a))
        {
          if (i4 != 0) {
            break label175;
          }
          if (locala_.h.a != this.K)
          {
            paramDouble1 += locala_.h.a(paramd, paramDouble2, paramDouble3, paramDouble4, this);
            i2--;
            if (i4 != 0) {
              break label175;
            }
            if (i3 == 0) {}
          }
        }
        else
        {
          throw new InternalError("Event Type undefined!");
        }
        locala_ = i1 > 0 ? (a_)paramList.get(--i1) : null;
      } while (i3 == 0);
    }
    return paramDouble1;
  }
  
  private int a(double paramDouble, List paramList)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    if (i5 == 0) {
      if (paramList.isEmpty()) {
        return 0;
      }
    }
    if (i5 == 0) {
      if (((a_)paramList.get(0)).c > paramDouble) {
        return 0;
      }
    }
    int i1 = 0;
    int i2 = paramList.size();
    int i3 = (i1 + i2) / 2;
    a_ locala_ = (a_)paramList.get(i3);
    if (locala_.c < paramDouble)
    {
      i1 = i3;
      if (i5 != 0) {
        break label168;
      }
      if (i4 == 0) {
        break label163;
      }
    }
    label163:
    label168:
    do
    {
      if (locala_.c > paramDouble)
      {
        i2 = i3;
        if (i5 != 0) {
          break label168;
        }
        if (i4 == 0) {}
      }
      else
      {
        if (i5 == 0) {
          if (locala_.a)
          {
            i1 = i3;
            if (i5 != 0) {
              break label168;
            }
            if (i4 == 0) {
              break label163;
            }
          }
        }
        i2 = i3;
      }
      do
      {
        if (i2 - i1 > 1) {
          break;
        }
      } while (i5 != 0);
    } while (i4 != 0);
    return i2;
  }
  
  private int a(a_ parama_, List paramList)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    if (i5 == 0) {
      if (paramList.isEmpty()) {
        return 0;
      }
    }
    if (i5 == 0) {
      if (((a_)paramList.get(0)).compareTo(parama_) > 0) {
        return 0;
      }
    }
    if (i5 == 0) {
      if (((a_)paramList.get(paramList.size() - 1)).compareTo(parama_) < 0) {
        return paramList.size();
      }
    }
    int i1 = 0;
    int i2 = paramList.size();
    label141:
    label147:
    do
    {
      break label141;
      int i3 = (i1 + i2) / 2;
      a_ locala_ = (a_)paramList.get(i3);
      if (locala_.compareTo(parama_) <= 0)
      {
        i1 = i3;
        if (i5 != 0) {
          break label147;
        }
        if (i4 == 0) {}
      }
      else
      {
        i2 = i3;
      }
      do
      {
        if (i2 - i1 > 1) {
          break;
        }
      } while (i5 != 0);
    } while (i4 != 0);
    return i2;
  }
  
  private boolean a(double paramDouble1, double paramDouble2, double paramDouble3)
  {
    int i1 = g.Cc;
    if ((i1 != 0) || (paramDouble3 - paramDouble1 >= this.n)) {
      if (i1 != 0) {}
    }
    return paramDouble2 - paramDouble3 >= this.n;
  }
  
  private double a(z paramz)
  {
    return ((a.d.w)paramz.d()).a();
  }
  
  private double b(z paramz)
  {
    return ((a.d.w)paramz.d()).b();
  }
  
  private ad a(ad paramad, zc paramzc, int paramInt)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    if (i2 == 0) {}
    switch (paramInt)
    {
    case 1: 
    case 3: 
    case 5: 
    case 6: 
    case 7: 
    default: 
      if ((i2 != 0) || (this.E))
      {
        if (i2 != 0) {
          break label111;
        }
        d1 = a(paramzc.a() + 0.5D * paramzc.c(), true);
        if (i1 == 0) {
          break label113;
        }
      }
      d1 = 0.0D;
      d2 = -paramzc.d() * 0.5D;
      if (i2 == 0) {
        if (i1 == 0) {
          break label340;
        }
      }
    case 4: 
      d1 = paramzc.c() * 0.5D;
      if ((i2 != 0) || (this.E))
      {
        d2 = a(paramzc.b() + 0.5D * paramzc.d(), false);
        if (i2 == 0) {
          if (i1 == 0) {
            break label340;
          }
        }
      }
      else
      {
        d2 = 0.0D;
      }
      if ((i2 == 0) && (i1 == 0)) {
        break label340;
      }
    case 2: 
      label111:
      label113:
      if ((i2 != 0) || (this.E))
      {
        if (i2 != 0) {
          break label254;
        }
        d1 = a(paramzc.a() + 0.5D * paramzc.c(), true);
        if (i1 == 0) {
          break label256;
        }
      }
      label254:
      d1 = 0.0D;
      label256:
      d2 = paramzc.d() * 0.5D;
      if (i2 != 0) {
        break label300;
      }
      if (i1 == 0) {
        break label340;
      }
    }
    double d1 = -paramzc.c() * 0.5D;
    if ((i2 != 0) || (this.E))
    {
      label300:
      if (i2 != 0) {
        break label338;
      }
      d2 = a(paramzc.b() + 0.5D * paramzc.d(), false);
      if (i1 == 0) {
        break label340;
      }
    }
    label338:
    double d2 = 0.0D;
    label340:
    return ad.a(d1, d2, paramad.a(), paramad.f());
  }
  
  private double a(double paramDouble, boolean paramBoolean)
  {
    int i1 = g.Cc;
    if (i1 == 0)
    {
      if (this.E) {
        if (i1 != 0) {
          break label122;
        }
      }
    }
    else if (this.G > 0.0D)
    {
      double d1 = paramBoolean ? this.F.a() : this.F.b();
      double d2 = Math.floor((paramDouble - d1) / this.G) * this.G - paramDouble;
      double d3 = Math.ceil((paramDouble - d1) / this.G) * this.G - paramDouble;
      if (i1 == 0) {
        if (Math.abs(d2) < Math.abs(d3)) {
          return d2;
        }
      }
      return d3;
    }
    label122:
    return 0.0D;
  }
  
  private byte a(zc paramzc1, zc paramzc2)
  {
    int i6 = g.Cc;
    int i5 = g.Bc;
    byte b = 0;
    double d1 = paramzc1.a();
    double d2 = paramzc1.b();
    double d3 = paramzc1.c();
    double d4 = paramzc1.d();
    double d5 = paramzc2.a();
    double d6 = paramzc2.b();
    double d7 = paramzc2.c();
    double d8 = paramzc2.d();
    if ((i6 != 0) || (d1 < d5)) {
      if (i6 != 0) {}
    }
    int i1 = d1 + d3 < d5 ? 1 : 0;
    if ((i6 != 0) || (d1 > d5)) {
      if (i6 != 0) {}
    }
    int i2 = d1 > d5 + d7 ? 1 : 0;
    if ((i6 != 0) || (d2 < d6)) {
      if (i6 != 0) {}
    }
    int i3 = d2 + d4 < d6 ? 1 : 0;
    if ((i6 != 0) || (d2 > d6)) {
      if (i6 != 0) {}
    }
    int i4 = d2 > d6 + d8 ? 1 : 0;
    if (i6 == 0) {
      if (i1 == 0)
      {
        if (i6 != 0) {
          break label335;
        }
        if (i2 == 0)
        {
          if (i6 == 0) {
            if (d2 + d4 < d6)
            {
              b = 0;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
          }
          if (i6 == 0) {
            if (d2 > d6 + d8)
            {
              b = 1;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
          }
          if (i6 == 0)
          {
            if (d2 < d6)
            {
              b = 0;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
            b = 1;
          }
          if (i6 != 0) {
            break label565;
          }
          if (i5 == 0) {
            return b;
          }
        }
      }
    }
    label335:
    if (i6 == 0) {
      if (i3 == 0)
      {
        if (i6 != 0) {
          break label451;
        }
        if (i4 == 0)
        {
          if (i6 == 0) {
            if (d1 + d3 < d5)
            {
              b = 2;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
          }
          if (i6 == 0) {
            if (d1 > d5 + d7)
            {
              b = 3;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
          }
          if (i6 == 0)
          {
            if (d1 < d5)
            {
              b = 2;
              if (i6 != 0) {
                break label565;
              }
              if (i5 == 0) {
                return b;
              }
            }
            b = 3;
          }
          if (i6 != 0) {
            break label565;
          }
          if (i5 == 0) {
            return b;
          }
        }
      }
    }
    label451:
    if (i6 == 0) {
      if (d1 < d5)
      {
        if (i6 == 0) {
          if (d2 < d6)
          {
            b = 4;
            if (i6 != 0) {
              break label565;
            }
            if (i5 == 0) {
              return b;
            }
          }
        }
        if (i6 != 0) {
          break label565;
        }
        if (d2 <= d6) {
          return b;
        }
        b = 6;
        if (i6 != 0) {
          break label565;
        }
        if (i5 == 0) {
          return b;
        }
      }
    }
    if (i6 == 0) {
      if (d1 > d5)
      {
        if (i6 == 0) {
          if (d2 < d6)
          {
            b = 5;
            if (i6 != 0) {
              break label565;
            }
            if (i5 == 0) {
              return b;
            }
          }
        }
        if (i6 != 0) {
          break label565;
        }
        if (d2 > d6) {
          b = 7;
        }
      }
    }
    label565:
    return b;
  }
  
  private static boolean[] a(int paramInt)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    boolean[] arrayOfBoolean = new boolean[4];
    if (i2 == 0) {
      if ((paramInt & 0x1) != 0)
      {
        if (i2 != 0) {
          break label90;
        }
        arrayOfBoolean[0] = true;
        if (i1 == 0) {
          return arrayOfBoolean;
        }
      }
    }
    if (i2 == 0) {
      if ((paramInt & 0x4) != 0)
      {
        if (i2 != 0) {
          break label90;
        }
        arrayOfBoolean[1] = true;
        if (i1 == 0) {
          return arrayOfBoolean;
        }
      }
    }
    if (i2 == 0) {
      if ((paramInt & 0x2) != 0)
      {
        if (i2 != 0) {
          break label90;
        }
        arrayOfBoolean[2] = true;
      }
    }
    if ((i1 != 0) && ((paramInt & 0x8) != 0)) {
      arrayOfBoolean[3] = true;
    }
    label90:
    return arrayOfBoolean;
  }
  
  private static int a(boolean[] paramArrayOfBoolean)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    int i1 = 0;
    if (i3 == 0) {
      if (paramArrayOfBoolean[0] != 0)
      {
        i1 |= 0x1;
        if (i3 != 0) {
          break label92;
        }
        if (i2 == 0) {
          return i1;
        }
      }
    }
    if (i3 == 0) {
      if (paramArrayOfBoolean[1] != 0)
      {
        i1 |= 0x4;
        if (i3 != 0) {
          break label92;
        }
        if (i2 == 0) {
          return i1;
        }
      }
    }
    if (i3 == 0) {
      if (paramArrayOfBoolean[2] != 0)
      {
        i1 |= 0x2;
        if (i3 != 0) {
          break label92;
        }
        if (i2 == 0) {
          return i1;
        }
      }
    }
    if (i3 == 0) {
      if (paramArrayOfBoolean[3] != 0) {
        i1 |= 0x8;
      }
    }
    label92:
    return i1;
  }
  
  private int a(int paramInt, byte paramByte)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    boolean[] arrayOfBoolean = a(paramInt);
    int i1 = 0;
    if (i1 < arrayOfBoolean.length) {}
    label177:
    while (i5 != 0)
    {
      int i2 = arrayOfBoolean[i1];
      if (i4 != 0) {
        break label197;
      }
      if (i2 != 0)
      {
        int i3 = 0;
        if (i5 == 0) {}
        switch (paramByte)
        {
        case 0: 
          i3 = (i1 + 1) % arrayOfBoolean.length;
          if (i5 != 0) {
            break label177;
          }
          if (i4 == 0) {
            break;
          }
        case 1: 
          i3 = (i1 + 2) % arrayOfBoolean.length;
          if (i5 != 0) {
            break label177;
          }
          if (i4 == 0) {
            break;
          }
        case 2: 
          i3 = (i1 + 3) % arrayOfBoolean.length;
          if (i5 != 0) {
            break label177;
          }
          if (i4 == 0) {
            break;
          }
        default: 
          throw new IllegalArgumentException("Undefined angle given: " + paramByte);
        }
        arrayOfBoolean[i3] = true;
        if (i5 != 0) {
          break label194;
        }
        arrayOfBoolean[i1] = false;
        if (i4 == 0) {}
      }
      else
      {
        i1++;
        if (i4 == 0) {
          break;
        }
      }
    }
    label194:
    label197:
    return a(arrayOfBoolean);
  }
  
  private double a(double paramDouble, boolean paramBoolean1, boolean paramBoolean2)
  {
    int i1 = g.Cc;
    if ((i1 != 0) || (this.E))
    {
      if (i1 == 0) {
        if (paramBoolean1)
        {
          if (paramBoolean2) {
            return Math.ceil((paramDouble - this.H.a()) / this.G) * this.G + this.H.a();
          }
          return Math.ceil((paramDouble - this.H.b()) / this.G) * this.G + this.H.b();
        }
      }
      if (paramBoolean2) {
        return Math.floor((paramDouble - this.H.a()) / this.G) * this.G + this.H.a();
      }
      return Math.floor((paramDouble - this.H.b()) / this.G) * this.G + this.H.b();
    }
    return paramDouble;
  }
  
  private void a(z paramz, double paramDouble, boolean paramBoolean)
  {
    int i1 = g.Cc;
    double d1 = a(paramz);
    double d2 = b(paramz);
    double d3;
    if ((i1 != 0) || ((paramBoolean) && ((i1 != 0) || (this.E))))
    {
      d3 = a(d2 + paramDouble, true, false);
      if (i1 != 0) {
        break label85;
      }
      if (g.Bc == 0) {}
    }
    else
    {
      d3 = d2 + paramDouble;
    }
    label85:
    paramz.add(new a.d.w(d1, d3));
  }
  
  private void b(z paramz, double paramDouble, boolean paramBoolean)
  {
    int i1 = g.Cc;
    double d1 = a(paramz);
    double d2 = b(paramz);
    double d3;
    if ((i1 != 0) || ((paramBoolean) && ((i1 != 0) || (this.E))))
    {
      d3 = a(d1 - paramDouble, false, true);
      if (i1 != 0) {
        break label85;
      }
      if (g.Bc == 0) {}
    }
    else
    {
      d3 = d1 - paramDouble;
    }
    label85:
    paramz.add(new a.d.w(d3, d2));
  }
  
  private void c(z paramz, double paramDouble, boolean paramBoolean)
  {
    int i1 = g.Cc;
    double d1 = a(paramz);
    double d2 = b(paramz);
    double d3;
    if ((i1 != 0) || ((paramBoolean) && ((i1 != 0) || (this.E))))
    {
      d3 = a(d1 + paramDouble, true, true);
      if (i1 != 0) {
        break label85;
      }
      if (g.Bc == 0) {}
    }
    else
    {
      d3 = d1 + paramDouble;
    }
    label85:
    paramz.add(new a.d.w(d3, d2));
  }
  
  private void e(z paramz, double paramDouble, boolean paramBoolean)
  {
    int i1 = g.Cc;
    double d1 = a(paramz);
    double d2 = b(paramz);
    double d3;
    if ((i1 != 0) || ((paramBoolean) && ((i1 != 0) || (this.E))))
    {
      d3 = a(d2 - paramDouble, false, false);
      if (i1 != 0) {
        break label85;
      }
      if (g.Bc == 0) {}
    }
    else
    {
      d3 = d2 - paramDouble;
    }
    label85:
    paramz.add(new a.d.w(d1, d3));
  }
  
  private void a(List paramList, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    d_ locald_ = new d_(paramDouble1, paramDouble2, paramDouble3, paramDouble4);
    a_ locala_1 = new a_(true, paramDouble1, Math.min(paramDouble2, paramDouble4), Math.max(paramDouble2, paramDouble4), locald_);
    a_ locala_2 = new a_(false, paramDouble3, Math.min(paramDouble2, paramDouble4), Math.max(paramDouble2, paramDouble4), locald_);
    paramList.add(locala_1);
    paramList.add(locala_2);
  }
  
  private void a(List paramList)
  {
    int i6 = g.Cc;
    int i5 = g.Bc;
    l.a(paramList, null);
    HashSet localHashSet = new HashSet();
    int i1 = 0;
    int i2 = 0;
    double d = -1.797693134862316E+308D;
    int i3 = 0;
    label234:
    do
    {
      if (i3 >= paramList.size()) {
        break;
      }
      a_ locala_1 = (a_)paramList.get(i3);
      do
      {
        if (i6 != 0) {
          break;
        }
        if ((locala_1.c > d) && (i2 > this.M))
        {
          ArrayList localArrayList = new ArrayList();
          Iterator localIterator = localHashSet.iterator();
          c_ localc_;
          a_ locala_2;
          do
          {
            do
            {
              if (!localIterator.hasNext()) {
                break;
              }
              localc_ = (c_)localIterator.next();
            } while (i3 - localc_.a <= this.N);
            localArrayList.add(localc_);
            locala_2 = localc_.a(false, locala_1.c);
            locala_2.g = (--i1);
            paramList.add(i3, locala_2);
            i2 -= i3 - locala_1.h.a;
            i3++;
            if (i6 != 0) {
              break label234;
            }
            if (i6 != 0) {
              break label338;
            }
            if (i5 != 0) {
              break label333;
            }
          } while ((i6 == 0) && (i5 == 0));
          int i4 = localArrayList.size() - 1;
          do
          {
            if (i4 < 0) {
              break;
            }
            localc_ = (c_)localArrayList.get(i4);
            locala_2 = localc_.a(true, locala_1.c);
            locala_2.g = (++i1);
            paramList.add(i3, locala_2);
            localc_.a = i3;
            i3++;
            i2 += i1;
            i4--;
            if (i6 != 0) {
              break label338;
            }
            if (i5 != 0) {
              break label333;
            }
          } while (i5 == 0);
        }
      } while (i6 != 0);
      d = locala_1.c;
      if (i6 == 0)
      {
        if (locala_1.a)
        {
          localHashSet.add(locala_1.h);
          locala_1.h.a = i3;
          i1++;
          if (i6 != 0) {
            continue;
          }
          if (i5 == 0) {}
        }
        else
        {
          localHashSet.remove(locala_1.h);
        }
      }
      else
      {
        i2 -= i3 - locala_1.h.a;
        locala_1.h.a = 0;
        i1--;
      }
      i2 += i1;
      locala_1.g = i1;
      i3++;
    } while (i5 == 0);
    label333:
    label338:
    return;
  }
  
  private void c(z paramz)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    Object localObject = null;
    Iterator localIterator = paramz.iterator();
    do
    {
      if (!localIterator.hasNext()) {
        break;
      }
      a.d.w localw = (a.d.w)localIterator.next();
      if (i2 == 0) {
        if (localObject != null)
        {
          a(new a.d.w(localw.b, localw.a), new a.d.w(((a.d.w)localObject).b, ((a.d.w)localObject).a), this.J);
          a(localw, (a.d.w)localObject, this.I);
        }
      }
      localObject = localw;
    } while (i1 == 0);
  }
  
  private void a(a.d.w paramw1, a.d.w paramw2, List paramList)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    if (i5 == 0) {
      if (paramw1.a() <= paramw2.a())
      {
        localw1 = paramw1;
        localw2 = paramw2;
        if (i5 != 0) {
          break label46;
        }
        if (i4 == 0) {
          break label49;
        }
      }
    }
    a.d.w localw1 = paramw2;
    label46:
    a.d.w localw2 = paramw1;
    label49:
    d_ locald_ = new d_(localw1.a(), localw1.b(), localw2.a(), localw2.b());
    a_ locala_1 = new a_(true, localw1.a(), localw1.b(), localw2.b(), locald_);
    a_ locala_2 = new a_(false, localw2.a(), localw2.b(), localw1.b(), locald_);
    int i1 = a(locala_2, paramList);
    int i2 = a(locala_1, paramList);
    if ((i5 != 0) || (paramList.size() > i1 - 1)) {
      if (i5 != 0) {}
    }
    locala_2.g = (i1 > 0 ? ((a_)paramList.get(i1 - 1)).g : 0);
    int i3 = i2;
    do
    {
      do
      {
        if (i3 >= i1) {
          break;
        }
        a_ locala_3 = (a_)paramList.get(i3);
        locala_3.g += 1;
        i3++;
        if ((i5 == 0) && (i4 != 0)) {
          break label309;
        }
      } while (i4 == 0);
      if (i5 != 0) {
        break;
      }
    } while (i5 != 0);
    if (paramList.size() > i2 - 1) {
      if (i5 != 0) {}
    }
    label309:
    i3 = i2 > 0 ? ((a_)paramList.get(i2 - 1)).g : 0;
    locala_1.g = (i3 + 1);
    paramList.add(i1, locala_2);
    paramList.add(i2, locala_1);
  }
  
  private void b(List paramList)
  {
    int i4 = g.Cc;
    int i3 = g.Bc;
    int i1 = 1;
    a_ locala_2;
    do
    {
      do
      {
        if (i1 >= paramList.size()) {
          break;
        }
        a_ locala_1 = (a_)paramList.get(i1 - 1);
        locala_2 = (a_)paramList.get(i1);
        if (i3 != 0) {
          break label100;
        }
        if (locala_1.c > locala_2.c) {
          throw new InternalError("Ah!");
        }
        if (locala_1.compareTo(locala_2) > 0) {}
        i1++;
      } while (i3 == 0);
    } while (i4 != 0);
    i1 = 0;
    label100:
    int i2 = 0;
    label152:
    label157:
    do
    {
      if (i2 >= paramList.size()) {
        break;
      }
      locala_2 = (a_)paramList.get(i2);
      if (i4 == 0)
      {
        if (locala_2.a) {
          i1++;
        }
      }
      else
      {
        if (i4 != 0) {
          break label157;
        }
        if (i3 == 0) {
          break label152;
        }
      }
      i1--;
      if (i4 == 0)
      {
        if (locala_2.g != i1) {
          throw new InternalError("Uh!");
        }
        i2++;
      }
    } while (i3 == 0);
  }
  
  public void a(Object paramObject)
  {
    this.P = paramObject;
  }
  
  public Object e()
  {
    return this.P;
  }
  
  public void a(double paramDouble)
  {
    this.n = paramDouble;
  }
  
  public double f()
  {
    return this.n;
  }
  
  public void b(double paramDouble)
  {
    if (paramDouble < 2.0D) {
      throw new IllegalArgumentException("Grid width may not be less than 2 but is " + paramDouble + ".");
    }
    this.G = paramDouble;
  }
  
  public double g()
  {
    return this.G;
  }
  
  public void a(a.d.w paramw)
  {
    this.F = paramw;
  }
  
  public a.d.w h()
  {
    return this.F;
  }
  
  public void a(boolean paramBoolean)
  {
    this.E = paramBoolean;
  }
  
  public boolean i()
  {
    return this.E;
  }
  
  public void c(double paramDouble)
  {
    this.B = paramDouble;
  }
  
  public double j()
  {
    return this.B;
  }
  
  public double k()
  {
    return this.C;
  }
  
  public void d(double paramDouble)
  {
    this.C = paramDouble;
  }
  
  public void e(double paramDouble)
  {
    this.A = paramDouble;
  }
  
  public double l()
  {
    return this.A;
  }
  
  public double m()
  {
    return this.R;
  }
  
  public void f(double paramDouble)
  {
    this.R = paramDouble;
  }
  
  static class a_
    implements Comparable
  {
    final boolean a;
    final double c;
    final double e;
    final double f;
    int g;
    final h.c_ h;
    
    a_(boolean paramBoolean, h.c_ paramc_)
    {
      this(paramBoolean, 0.0D, 0.0D, 0.0D, paramc_);
    }
    
    a_(boolean paramBoolean, double paramDouble1, double paramDouble2, double paramDouble3, h.c_ paramc_)
    {
      this.a = paramBoolean;
      this.h = paramc_;
      this.c = paramDouble1;
      if (i == 0) {
        if (paramDouble2 < paramDouble3)
        {
          this.e = paramDouble2;
          this.f = paramDouble3;
          if (i == 0) {
            if (g.Bc == 0) {
              return;
            }
          }
        }
        else
        {
          this.e = paramDouble3;
        }
      }
      this.f = paramDouble2;
    }
    
    public int compareTo(Object paramObject)
    {
      int j = g.Cc;
      a_ locala_ = (a_)paramObject;
      int i = l.a(this.c, locala_.c);
      if (j == 0) {
        if (i != 0) {
          return i;
        }
      }
      if (j == 0) {
        if (this.a)
        {
          if (j == 0) {}
          return locala_.a ? 0 : -1;
        }
      }
      if (j == 0) {}
      return locala_.a ? 1 : 0;
    }
    
    public String toString()
    {
      return "Event{open=" + this.a + ", x=" + this.c + ", yBegin=" + this.e + ", yEnd=" + this.f + ", openEventCount=" + this.g + ", graphicalObject=" + this.h + '}';
    }
  }
  
  static class d_
    extends h.c_
  {
    private final double b;
    private final double c;
    private final double d;
    private final double e;
    
    d_(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
    {
      this.b = paramDouble1;
      this.c = paramDouble2;
      this.d = paramDouble3;
      this.e = paramDouble4;
    }
    
    public String toString()
    {
      return "EdgeObject{}";
    }
    
    h.a_ a(boolean paramBoolean, double paramDouble)
    {
      return new h.a_(paramBoolean, paramDouble, Math.min(this.c, this.e), Math.max(this.c, this.e), this);
    }
    
    double a(d paramd, double paramDouble1, double paramDouble2, double paramDouble3, h paramh)
    {
      int i = g.Cc;
      if (i == 0)
      {
        if (paramDouble3 < this.c)
        {
          if (i != 0) {
            break label49;
          }
          if (paramDouble3 < this.e) {
            return 0.0D;
          }
        }
        if (i != 0) {
          break label74;
        }
      }
      if (paramDouble2 > this.c)
      {
        label49:
        if (i != 0) {
          break label74;
        }
        if (paramDouble2 > this.e) {
          return 0.0D;
        }
      }
      label74:
      double d1 = paramh.j();
      if (i == 0) {
        if (this.d != this.b)
        {
          d2 = (this.e - this.c) / (this.d - this.b);
          double d3 = this.c + d2 * (paramDouble1 - this.b);
          if (i == 0)
          {
            if (d3 > paramDouble3) {
              break label161;
            }
            if (i != 0) {
              break label158;
            }
          }
          label158:
          label161:
          return d3 >= paramDouble2 ? d1 : 0.0D;
        }
      }
      double d2 = paramh.m();
      if (i == 0) {
        if (this.e > this.c)
        {
          if (i == 0)
          {
            if (paramDouble2 > this.e) {
              break label222;
            }
            if (i != 0) {
              break label219;
            }
          }
          label219:
          label222:
          return paramDouble3 >= this.c ? d2 : 0.0D;
        }
      }
      if (i == 0)
      {
        if (paramDouble2 > this.c) {
          break label259;
        }
        if (i != 0) {
          break label256;
        }
      }
      label256:
      label259:
      return paramDouble3 >= this.e ? d2 : 0.0D;
    }
  }
  
  static class e_
    extends h.c_
  {
    private final e b;
    private final double d;
    private final double e;
    private final double f;
    private final double g;
    
    e_(e parame, double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
    {
      this.b = parame;
      this.d = paramDouble1;
      this.e = paramDouble2;
      this.f = (paramDouble3 + paramDouble1);
      this.g = (paramDouble4 + paramDouble2);
    }
    
    double a(d paramd, double paramDouble1, double paramDouble2, double paramDouble3, h paramh)
    {
      int i = g.Cc;
      a.c.q localq = paramd.c();
      k localk1 = localq.c(i.c);
      k localk2 = localq.c(i.a);
      k localk3 = localq.c(i.b);
      if (((i != 0) || (localk2 != null)) && ((i != 0) || (localk3 != null)) && ((i != 0) || (localk1 != null)) && ((i != 0) || (localk1.getBool(this.b))))
      {
        Object localObject1 = localk2.get(this.b);
        Object localObject2 = localk3.get(paramd.e());
        Object localObject3 = localk3.get(paramd.f());
        if (((i == 0) && ((localObject2 != null) && ((i == 0) && (localObject2.equals(localObject1))))) || (((i != 0) || (localObject3 != null)) && (localObject3.equals(localObject1)))) {
          return 0.0D;
        }
      }
      if ((i != 0) || ((this.b == paramd.e()) || (this.b == paramd.f()))) {
        return 0.0D;
      }
      if (i == 0) {
        if (paramDouble1 >= this.d)
        {
          if (i != 0) {
            break label270;
          }
          if (paramDouble1 <= this.f)
          {
            if (i != 0) {
              break label270;
            }
            if (paramDouble2 <= this.g)
            {
              if (i != 0) {
                break label270;
              }
              if (paramDouble3 >= this.e) {
                return paramh.k();
              }
            }
          }
        }
      }
      label270:
      return 0.0D;
    }
    
    h.a_ a(boolean paramBoolean, double paramDouble)
    {
      return new h.a_(paramBoolean, paramDouble, this.e, this.g, this);
    }
    
    public String toString()
    {
      return "NodeObject{node=" + this.b + '}';
    }
  }
  
  static abstract class c_
  {
    int a;
    
    abstract double a(d paramd, double paramDouble1, double paramDouble2, double paramDouble3, h paramh);
    
    abstract h.a_ a(boolean paramBoolean, double paramDouble);
  }
  
  private static class b_
  {
    private a.d.w a;
    private a.d.w c;
    
    b_(a.d.w paramw1, a.d.w paramw2)
    {
      this.a = paramw1;
      this.c = paramw2;
    }
    
    private boolean a()
    {
      if (g.Cc == 0) {}
      return this.a.a() == this.c.a();
    }
    
    boolean b()
    {
      int i = g.Cc;
      if ((i != 0) || (a())) {
        if (i != 0) {}
      }
      return this.a.b() > this.c.b();
    }
    
    boolean c()
    {
      int i = g.Cc;
      if ((i != 0) || (a())) {
        if (i != 0) {}
      }
      return this.a.b() < this.c.b();
    }
    
    boolean d()
    {
      int i = g.Cc;
      if ((i != 0) || (!a())) {
        if (i != 0) {}
      }
      return this.a.a() < this.c.a();
    }
    
    boolean f()
    {
      int i = g.Cc;
      if ((i != 0) || (!a())) {
        if (i != 0) {}
      }
      return this.a.a() > this.c.a();
    }
    
    int g()
    {
      int i = g.Cc;
      if (i == 0) {
        if (b()) {
          return 0;
        }
      }
      if (i == 0) {
        if (c()) {
          return 1;
        }
      }
      if (i == 0) {
        if (f()) {
          return 2;
        }
      }
      return 3;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.l.h

 * JD-Core Version:    0.7.0.1

 */